package com.tcm.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author Guqier
 * @version 1.0
 * @date 2023/7/28 17:40
 */
@Data
public class NotificationDto {

    /**
     * 通知ID
     */
    private Long id;

    /**
     * 通知标题
     */
    @NotBlank(message = "title不能为空")
    private String title;

    /**
     * 通知内容
     */
    @NotBlank(message = "content不能为空")
    private String content;

    /**
     * 通知类型，0表示普通通知，1表示重要通知，2表示系统通知
     */
    @NotNull(message = "type不能为空")
    private Integer type;

    /**
     * 是否是滚动通知，0表示不是，1表示是
     */
    @NotNull(message = "isRoll不能为空")
    private Integer isRoll;

    /**
     * 班级类型，0为普通班级，1为社会化班级
     */
    @NotNull(message = "clazzType不能为空")
    private Integer clazzType;

    /**
     * 通知班级ID列表
     */
    @NotNull(message = "clazzIds不能为空")
    private List<Long> clazzIds;

    /**
     * 失效时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date disableTime;

}
